package com.ruicar.afs.cloud.product.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruicar.afs.cloud.product.condition.ProductUpdatePlanCondition;
import com.ruicar.afs.cloud.product.entity.ProductUpdatePlan;
import com.ruicar.afs.cloud.product.vo.ProductPlanVo;
import com.ruicar.afs.cloud.product.vo.ProductPrototypeVo;
import com.ruicar.afs.cloud.product.vo.ProductUpdatePlanVo;
import com.ruicar.afs.cloud.product.vo.VueVo;

import java.util.List;
import java.util.Map;

/**
 * @author xudongdong
 * @version 1.0
 * @date 2020-05-22
 */
public interface ProductUpdatePlanService extends IService<ProductUpdatePlan> {

    IPage<List<ProductPrototypeVo>> getProductPlanList(Page page, ProductUpdatePlanCondition productCondition);

    IPage<List<ProductPrototypeVo>> getPlanData(Page page, ProductUpdatePlanCondition productCondition);

    List<ProductPlanVo> getVueInfo(ProductUpdatePlanCondition productCondition);

    List<ProductPlanVo> getOldPlanList(Long id);

    List<ProductPlanVo> getOldPlanData(Long id);

    List<ProductPlanVo> getVueApproveInfo(Long id, Long productTemplateId);

    Map<String, Object> getPlanApproveInfo(Long id);

    List<ProductPlanVo> getNewPlanList(Long id);

    List<ProductPlanVo> getNewPlanData(Long id);

    VueVo getVueVo(List<ProductPlanVo> list);

    IPage<List<ProductUpdatePlanVo>> queryProductUpdatePlanList(Page page, Long id);

}
